console.log起因でClaude Desktopにエラーメッセージが出る
挙動としては正常に動いていそうなんだけど、リクエストするたびにsyntax errorが出ている。なんだろう?基素.icon
https://gyazo.com/c70f92a9d8469a7a389af9c9c2b560ae
code:zsh
metadata: {
context: 'connection',
stack: SyntaxError: Unexpected token 'l', " links1hop: [" is not valid JSON\n +
' at JSON.parse (<anonymous>)\n' +
正しいJSON形式: {"links1hop": [...]}
実際の出力: { links1hop: [...]}(クォートなし)
まず、claudeのデスクトップアプリが古いので更新してみよう
ちな、これは関係なかった基素.icon
github copilotで使っている時も同じエラーが出てくるtakker.icon
動いてはいるので無視してる
どうやらコンソール出力がそのままMCP clientにわたってしまうみたい
ありがとうございます基素.icon
環境変数を作ってdevelopの時だけ出るようにするのがいいかな
よさそう。もしくは--devみたいなコマンドライン引数を渡したときだけconsoleを有効にするよう書き換えるのもありtakker.icon
PRを作る基素.icon
コードを変えて試してみたけど同じ気がする。別の原因?
ふーむ?takker.icon
logger消したら治ったのでloggerの問題だ(takker.iconさんが正しい)。PRの実装がどこかおかしい基素.icon
環境変数がなかなか反映されない。dotenvが環境変数を読み出すタイミングでハマってる基素.icon
Many modern JavaScript/TypeScript bundlers and build tools (like Webpack, Rollup, esbuild, etc.) perform a process called "environment variable substitution" during the build process:
When they encounter process.env.NODE_ENV, they replace it with the actual string value of that environment variable at build time
This replacement happens before the code is minified or optimized
After substitution, the expression becomes something like const isDevelopment = 'production' === 'development';, which evaluates to a fixed boolean value
なるほど
結局MCPクライアント側でenvを指定するリポジトリのやり方に倣って修正した基素.icon
調査感謝yosider.icon
console.errorにしたら問題なかった気がしたけど、違ったっけ…
そーなのか基素.icon
諦めたような気もしなくもない…
PRをOpenにしました🙏🏻基素.icon
ありがとうございます!yosider.icon